package com.maimang.platform.crm.service;

import com.maimang.platform.common.utils.excel.TitleEntity;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author Rocky
 * @version 1.0.0
 * @classname WorkExportService
 * @description <br>PC端工作统计service</br>
 * @date 2019-10-23 16:11
 * @email jintaozhao@qq.com
 */
public interface WorkExportService {

	/**
	 * 工作内容统计
	 *
	 * @param deptId    部门id
	 * @param isNew     新老客户
	 * @param startTime 开始日期
	 * @param endTime   结束日期
	 * @return
	 */
	Map<String, List<Map<String, Object>>> workStatistics(Long deptId, String isNew, Date startTime, Date endTime) throws Exception;


	/**
	 * Excel统计报表数据
	 *
	 * @param sheets    sheet页数据对象
	 * @param deptId    部门ID
	 * @param startTime 开始时间
	 * @param endTime   结束时间
	 * @return
	 * @throws Exception
	 */
	Map<String, List<Map<String, Object>>> statistics(Map<String, String> sheets, Long deptId, Date startTime, Date endTime) throws Exception;


	/**
	 * 创建表格表头
	 *
	 * @param deptId    部门ID
	 * @param startTime 开始时间
	 * @param endTime   结束时间
	 * @return
	 */
	List<TitleEntity> createTitleList(Long deptId, Date startTime, Date endTime) throws Exception;

	/**
	 * 创建多个表头，每个sheet页不同
	 *
	 * @param sheets    sheet页信息
	 * @param startTime 起始时间
	 * @param endTime   结束时间
	 * @return
	 * @throws Exception
	 */
	Map<String, List<TitleEntity>> createTitles(Map<String, String> sheets, Date startTime, Date endTime) throws Exception;

	/**
	 * 获取所有的sheet名称
	 *
	 * @return sheet页列表
	 */
	Map<String, String> getSheetNames(Long deptId);


	/**
	 * 创建sheet页名称列表
	 *
	 * @return sheet页名称列表
	 */
	Map<String, String> createSheetNames();
}
